Skip to main content

Cron Advanced Scheduling

cron — bu Linux va Unix tizimlarida avtomatlashtirilgan vazifalarni (skriptlar, buyruqlar) belgilangan vaqtda ishga tushirish uchun ishlatiladigan xizmat. Oddiy cron jadvali (crontab) sintaksisi quyidagicha:

* * * * * command-to-execute

Har bir yulduzcha quyidagilarni anglatadi:

  • 1: Minut (0-59)
  • 2: Soat (0-23)
  • 3: Kun (oyda) (1-31)
  • 4: Oy (1-12)
  • 5: Haftaning kuni (0-7, 0 va 7 yakshanba)

Asosiy Misollar

Har 5 daqiqada skript ishga tushirish

*/5 * * * * /home/user/script.sh

Har kuni soat 2:30 da backup qilish

30 2 * * * /usr/bin/backup.sh

Har dushanba va payshanba soat 8:00 da email yuborish

0 8 * * 1,4 /home/user/send_email.sh

Har oyning birinchi kuni soat 00:00 da loglarni tozalash

0 0 1 * * /usr/bin/clean_logs.sh

Advanced Scheduling Misollar

Har oyning oxirgi kuni

59 23 28-31 * * [ "$(date +\%d -d tomorrow)" == "01" ] && /home/user/month_end.sh

Bu misolda, faqat oyning oxirgi kuni skript ishga tushadi.

Har 15 daqiqada, faqat ish kunlari (dushanba-juma)

*/15 * * * 1-5 /home/user/workday_task.sh

Har 2 soatda, faqat 9:00 dan 17:00 gacha

0 9-17/2 * * * /home/user/office_hours.sh

Har oyning 10, 20 va 30-kunlari

0 0 10,20,30 * * /home/user/special_days.sh

Har yakshanba soat 23:00 da serverni qayta yuklash

0 23 * * 0 /sbin/reboot

Cron Sintaksisda Qo‘shimcha Imkoniyatlar

  • Diapazonlar: 1-5 (dushanba-juma)
  • Ro‘yxatlar: 1,3,5 (dushanba, chorshanba, juma)
  • Step values: */10 (har 10 minutda)
  • Wildcard (*): har doim

Cron Ishlashini Tekshirish

Cron loglarini ko‘rish:

sudo tail -f /var/log/syslog | grep CRON

Cron jadvalini tahrirlash:

crontab -e

Cron jadvalini ko‘rish:

crontab -l

Muhim Eslatmalar

  • Har bir cron vazifasi uchun to‘liq yo‘lni ko‘rsating (masalan, /usr/bin/python3).
  • Muhit o‘zgaruvchilari (PATH, HOME) cron-da cheklangan bo‘lishi mumkin.
  • Standart chiqishni log fayliga yo‘naltiring:
    * * * * * /home/user/script.sh >> /home/user/cron.log 2>&1

Foydali Havolalar

  • Crontab Guru — cron jadvalini tez va oson tuzish uchun.
  • man 5 crontab — terminalda cron sintaksisi haqida to‘liq ma’lumot.

Cron yordamida tizimni avtomatlashtirish imkoniyatlari juda keng. To‘g‘ri jadval tuzish va sinab ko‘rish orqali samarali va xavsiz avtomatlashtirishga erishasiz.